<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="referrer" content="no-referrer"/>
    <title>韩子卢 - 博客园</title>
    <link type="text/css" rel="stylesheet" href="https://www.cnblogs.com/css/blog-common.min.css">
    <link id="mobile-style" media="only screen and (max-width: 767px)" type="text/css" rel="stylesheet" href="https://www.cnblogs.com/skins/blank/bundle-blank-mobile.min.css">
    <link title="RSS" type="application/rss+xml" rel="alternate" href="http://www.cnblogs.com/vvjiang/rss">
    <link title="RSD" type="application/rsd+xml" rel="EditURI" href="http://www.cnblogs.com/vvjiang/rsd.xml">
    <link type="application/wlwmanifest+xml" rel="wlwmanifest" href="http://www.cnblogs.com/vvjiang/wlwmanifest.xml">
    <script async="" src="https://www.google-analytics.com/analytics.js"></script>
    <script src="https://cdn.bootcss.com/jquery/1.8.0/jquery.min.js"></script>
    <script type="text/javascript">
        var currentBlogApp = 'vvjiang', cb_enable_mathjax = false; var isLogined = true;
    </script>
</head>
<body>
    <a name="top"></a>
    <div id="page_begin_html">
        {{headerHtml}}
    </div>
    <!--done-->
    <div id="wrap">
        <div id="banner">
            <!--done-->
            <div class="header">
                <div class="headerText">
                    <a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/vvjiang/"></a>
                    <br>
                </div>
                <div class="headerDis">风起于青萍之末，浪成于微澜之间</div>
            </div>
        </div>
        <div id="main">
            <!-- left starts -->
            <div id="left">
                <div id="mystats">



                </div>
                <div id="mylinks">
                    <!--done-->
                    <a id="blog_nav_sitehome" class="menu" href="/">博客园</a>&nbsp;&nbsp;
                    <a id="blog_nav_myhome" class="menu" href="/">首页</a>&nbsp;&nbsp;
                    <a id="blog_nav_newpost" class="menu" rel="nofollow" href="/">新随笔</a>&nbsp;&nbsp;
                    <a id="MyLinks1_NewArticleLink" class="menu" href="/">新文章</a>&nbsp;&nbsp;&nbsp;&nbsp;
                    <a id="blog_nav_admin" class="menu" rel="nofollow" href="/">管理</a>&nbsp;&nbsp;&nbsp;
                </div>
                <div id="topics">


                    <!--done-->


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl00_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2017/11/15.html"></a>
                            &nbsp; 2017年11月15日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl00_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【Chrome控制台】获取元素上绑定的事件信息以及监控事件</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 需求场景 在前端开发中，偶尔需要验证下某个元素上到底绑定了哪些事件，以及监控某个元素上的事件触发情况。 解决方案 普通操作 之前面对这种情况，一般采取的措施就是在各个事件里写console.info，然后进行点击等操作触发事件，或者在控制台trigger元素上的事件，或者dispatchEvent。
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2017-11-15 02:04 韩子卢 阅读(219) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=7836696" rel="nofollow">编辑</a>
                        </div>

                    </div>


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl01_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2017/05/01.html"></a>
                            &nbsp; 2017年5月1日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl01_DayList_TitleUrl_0" class="postTitle2" href="/read.html">前端工具的安装</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 前端工具安装简述 前言 虽然一直有写前端，而且水平自认上升很快，但是仍然没有玩过模块化开发。 对于前端的这些工具也没有接触过，平时一般都是vs和vs code就搞定了，为了搞一搞模块化开发，准备来玩一下这些前端工具。
                                所以写写这些前端工具的安装步骤，记录一下以后忘了也能用，如果能帮到别人就更好了。
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2017-05-01 17:56 韩子卢 阅读(387) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=6792341" rel="nofollow">编辑</a>
                        </div>
                    </div>
                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl02_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/08/14.html"></a>
                            &nbsp; 2016年8月14日
                        </div>
                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl02_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【MVC拾遗】MVC的单元测试简单学习总结</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 关于测试的必要性什么的已经在 重构与测试&nbsp;里扯过了。倒也没必要说，写的代码多了自然就明白这个东西重要性。 当时说了坐等被推动去学习单元测试来着，然而等着被人推动的结果就是根本就没人来推你。o(∩_∩)o
                                所以还是自己主动来学，主动来总结了。 可测试性设计基础理论知识 可测试性设计（Design fo
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-08-14 21:54 韩子卢 阅读(1689) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5771153" rel="nofollow">编辑</a>
                        </div>
                    </div>
                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl03_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/05/31.html"></a>
                            &nbsp; 2016年5月31日
                        </div>
                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl03_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【C#进阶系列】30 学习总结</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 前面学起来还是很顺的，毕竟很多都接触过。 后面学起来只能用“磨”来形容，以至于八章用了2个月。（当然也有相当一些原因是这两个月中发生了一些个人生活上的问题） 总的来说收获超大，这种感觉就像大一的时候学习老谭的C语言一样，醍醐灌顶。
                                如果是靠.NET吃饭的人，不读这本书真的是太可惜了。 不过这中间也出
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-05-31 23:45 韩子卢 阅读(415) 评论(2)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5548138" rel="nofollow">编辑</a>
                        </div>
                        <div class="postSeparator"></div>
                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl03_DayList_TitleUrl_1" class="postTitle2" href="/read.html">【C#进阶系列】29 混合线程同步构造</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 上一章讲了基元线程同步构造，而其它的线程同步构造都是基于这些基元线程同步构造的，并且一般都合并了用户模式和内核模式构造，我们称之为混合线程同步构造。 在没有线程竞争时，混合线程提供了基于用户模式构造所具备的性能优势，而多个线程竞争一个构造时，混合线程通过基元内核模式的构造来提供不“自旋”的优势。
                                那
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-05-31 23:30 韩子卢 阅读(280) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5548099" rel="nofollow">编辑</a>
                        </div>
                    </div>


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl04_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/05/24.html"></a>
                            &nbsp; 2016年5月24日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl04_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【C#进阶系列】28 基元线程同步构造</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 多个线程同时访问共享数据时，线程同步能防止数据损坏。之所以要强调同时，是因为线程同步问题实际上就是计时问题。 不需要线程同步是最理想的情况，因为线程同步一般很繁琐，涉及到线程同步锁的获取和释放，容易遗漏，而且锁会损耗性能，获取和释放锁都需要时间，最后锁的玩法就在于一次只能让一个线程访问数据，那么就会
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-05-24 01:03 韩子卢 阅读(347) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5522086" rel="nofollow">编辑</a>
                        </div>

                    </div>


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl05_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/05/17.html"></a>
                            &nbsp; 2016年5月17日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl05_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【C#进阶系列】27 I/O限制的异步操作</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 上一章讲到了用线程池，任务，并行类的函数，PLINQ等各种方式进行基于线程池的计算限制异步操作。 而本章讲的是如何异步执行I/O限制操作，允许将任务交给硬件设备来处理，期间完全不占用线程和CPU资源。
                                然而线程池仍然扮演着重要的角色，因为各种I/O操作的结果还是要由线程池线程来处理。 Windows
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-05-17 00:03 韩子卢 阅读(326) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5500075" rel="nofollow">编辑</a>
                        </div>

                    </div>


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl06_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/05/10.html"></a>
                            &nbsp; 2016年5月10日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl06_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【C#进阶系列】26 计算限制的异步操作</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 什么是计算限制的异步操作，当线程在要使用CPU进行计算的时候，那么就叫计算限制。 而对应的IO限制就是线程交给IO设备（键鼠，网络，文件等）。 第25章线程基础讲了用专用的线程进行计算限制的操作，但是创建专用线程开销大，而且太多的线程也浪费内存资源，那么本章就讨论一种更好的方法，即线程池技术。
                                CL
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-05-10 01:52 韩子卢 阅读(469) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5476394" rel="nofollow">编辑</a>
                        </div>

                    </div>


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl07_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/05/04.html"></a>
                            &nbsp; 2016年5月4日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl07_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【C#进阶系列】25 线程基础</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 线程的概念 线程的职责是对CPU进行虚拟化。 CPU为每个进程都提供了该进程专用的线程（功能相当于cpu）,应用程序如果进入死循环，那么所处的进程会"冻结",但其他进程不会冻结，它们会继续执行！
                                线程的开销 因为是虚拟化CPU，所以也会有空间（内存耗用）和时间（执行性能）上的开销。 具体的开销： 线
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-05-04 01:14 韩子卢 阅读(345) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5457052" rel="nofollow">编辑</a>
                        </div>

                    </div>


                    <div class="day">
                        <div class="dayTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl08_ImageLink" title="Day link" href="//www.cnblogs.com/vvjiang/archive/2016/04/27.html"></a>
                            &nbsp; 2016年4月27日
                        </div>


                        <div class="postTitle">
                            <a id="homepage1_HomePageDays_DaysList_ctl08_DayList_TitleUrl_0" class="postTitle2" href="/read.html">【C#进阶系列】24 运行时序列化</a>
                        </div>
                        <div class="postCon">
                            <div class="c_b_p_desc">摘要: 序列化是将对象或者对象图（一堆有包含关系的对象）转换成字节流的过程。而反序列化就是将字节流转为对象或对象图。 主要用于保存、传递数据，使得数据更易于加密和压缩。 .NET内建了出色的序列化和反序列化支持。
                                上一个简单的小例子： 反序列化就是formatter.Deserialize(stream)。
                                <a href="/read.html" class="c_b_p_desc_readmore">阅读全文</a>
                            </div>
                        </div>
                        <div class="postDesc">posted @ 2016-04-27 00:13 韩子卢 阅读(266) 评论(0)
                            <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5437279" rel="nofollow">编辑</a>
                        </div>

                    </div>

                    <div class="topicListFooter">
                        <div id="nav_next_page">
                            <a href="javascript:void(0)">下一页</a>
                        </div>
                    </div>


                </div>
                <br>
                <br>
                <br>
            </div>
            <!-- left ends -->
            <!-- right starts -->
            <div id="right">
                <!-- 右侧工具部分 -->
                <div id="right_content">

                    <div id="calendar">
                        <div id="blog-calendar" style="display:none"></div>
                    </div>

                    <div id="leftcontentcontainer">
                        <div id="blog-sidecolumn">
                            <div id="sidebar_search" class="sidebar-block"></div>
                            <div id="sidebar_categories">
                                <!--done-->

                                <h1 class="catListTitle">随笔分类</h1>

                                <ul class="catList">

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_0" class="listitem" href="/categoryList.html">AngularJS学习笔记(3)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_1" class="listitem" href="/categoryList.html">Bootstrap基础学习(6)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_2" class="listitem" href="/categoryList.html">C#进阶系列(31)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_3" class="listitem" href="/categoryList.html">JavaScript复习(8)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_4" class="listitem" href="/categoryList.html">jQuery基础学习(13)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_5" class="listitem" href="/categoryList.html">MVC拾遗(1)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_6" class="listitem" href="/categoryList.html">开发工具(2)</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_7" class="listitem" href="/categoryList.html">浏览器机制</a>
                                    </li>

                                    <li class="catListItem">
                                        <a id="CatList_LinkList_0_Link_8" class="listitem" href="/categoryList.html">重构(13)</a>
                                    </li>

                                </ul>

                            </div>
                        </div>
                    </div>

                </div>
                <!-- //右侧工具部分 -->
                <div id="footer">
                    Copyright ©2018 韩子卢
                </div>
            </div>
            <!-- right ends -->
        </div>
    </div>
    <div id="page_end_html">
        {{footerHtml}}
    </div>
</body>

</html>